﻿using System;
using System.Collections.Generic;
using System.Text;

namespace ProTrack.Entity
{
    public class InfraApiErrorLog
    {
        /// <summary>
        /// 编号
        /// </summary>
        public int Id { get; set; }

        /// <summary>
        /// 链路追踪编号
        /// </summary>
        public string TraceId { get; set; }

        /// <summary>
        /// 用户编号
        /// </summary>
        public int UserId { get; set; }


        /// <summary>
        /// 功能名
        /// </summary>
        public string ApplicationName { get; set; }

        /// <summary>
        /// 请求方法名
        /// </summary>
        public string RequestMethod { get; set; }
        public string RequestType { get; set; }

        /// <summary>
        /// 请求地址
        /// </summary>
        public string RequestUrl { get; set; }

        /// <summary>
        /// 请求参数
        /// </summary>
        public string RequestParams { get; set; }

        /// <summary>
        /// 用户 IP
        /// </summary>
        public string UserIP { get; set; }

        /// <summary>
        /// 浏览器 UA
        /// </summary>
        public string UserAgent { get; set; }

        /// <summary>
        /// 异常发生时间
        /// </summary>
        public DateTime ExceptionTime { get; set; }

        /// <summary>
        /// 异常名
        /// </summary>
        public string ExceptionName { get; set; }

        /// <summary>
        /// 异常导致的消息
        /// </summary>
        public string ExceptionMessage { get; set; }

        /// <summary>
        /// 异常导致的根消息
        /// </summary>
        public string ExceptionRootCauseMessage { get; set; }

        /// <summary>
        /// 异常的栈轨迹
        /// </summary>
        public string ExceptionStackTrace { get; set; }

        /// <summary>
        /// 异常发生的类全名
        /// </summary>
        public string ExceptionClassName { get; set; }

        /// <summary>
        /// 异常发生的类文件
        /// </summary>
        public string ExceptionFileName { get; set; }

        /// <summary>
        /// 异常发生的方法名
        /// </summary>
        public string ExceptionMethodName { get; set; }

        /// <summary>
        /// 异常发生的方法所在行
        /// </summary>
        public int ExceptionLineNumber { get; set; }

        /// <summary>
        /// 处理状态
        /// </summary>
        public int ProcessStatus { get; set; }

        /// <summary>
        /// 处理时间
        /// </summary>
        public DateTime? ProcessTime { get; set; }

        /// <summary>
        /// 处理用户编号
        /// </summary>
        public int ProcessUserId { get; set; }

        /// <summary>
        /// 创建者
        /// </summary>
        public string Creator { get; set; }

        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime CreateTime { get; set; }

        /// <summary>
        /// 更新者
        /// </summary>
        public string Updater { get; set; }

        /// <summary>
        /// 更新时间
        /// </summary>
        public DateTime UpdateTime { get; set; }

        /// <summary>
        /// 是否删除
        /// </summary>
        public bool Deleted { get; set; }
    }
}
